# pmim-apk 安装

相关文章:

- 《在 Android 运行 GNU/Linux 二进制程序 (proot)》
- 《高版本 Android 如何访问 sdcard/Android/data 目录中的文件 (翻译)》

## 1 编译并安装 apk

详见 [开发调试.md](./开发调试.md).

## 2 安装文件

需要把大量文件放到 `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/`
目录中, 如何访问这里的文件详见 《高版本 Android 如何访问 sdcard/Android/data
目录中的文件 (翻译)》 文章.

### 2.1 使用预制的文件包

- (1) 下载地址: <https://github.com/fm-elpac/pmim-apk/releases>

  - `setup-pmim-apk.zip` (约 5.6MB) 不带内置数据库.

  - `setup-pmim-apk-db.zip` (约 9.7MB) 含有内置数据库.

  可以根据需要选择.

- (2) **解压** (可以在手机上完成), 然后把 `server`, `ui`, `pmim` 等目录整个移动
  (复制) 到 `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/` 位置.

### 2.2 安装 deno

请参考 3.1 章节.

暂时没有预制的 deno 安装包, 但是有一个辅助文件:

- `setup-proot-deno.zip` (约 50MB)

这个是组装了一半的 deno 安装包 (缺 termux proot 文件). 这个或许可以简化组装 deno
安装包.

### 2.3 小结

pmim-apk (Android 应用) 本身只是一个很薄的外壳.

采用这种文件包的安装方式, 虽然有点麻烦, 但是大部分更新不需要重新编译/安装 apk,
只需要更新里面的文件 (server, ui 等) 即可.

## 3 手动安装文件

如果不想使用上述预制的文件包, 也可以手动组装.

### 3.1 安装 deno

- (1) 按照 《在 Android 运行 GNU/Linux 二进制程序 (proot)》 文章的内容, 组装
  deno 运行环境 (proot).

  具体可参考 `setup-proot/setup` 目录.

- (2) 将 `setup` 目录 (以及其中的所有文件) 放到
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/setup/` 位置.

  确保 `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/setup/setup.sh`
  文件存在.

- (3) 点开应用主界面 (`MainActivity`), 这会自动开始 deno 的安装 (详见代码
  `p/app/src/main/java/io/github/fm_elpac/pmim_apk/ProotSetup.kt`).

  此过程建议同时配合使用 apk 调试, 方法详见 [开发调试.md](./开发调试.md).

### 3.2 安装 ui/lo

这个是界面加载器.

- (1) 下载编译好的压缩包 (`ui-vue-dist.tar.zst`):
  <https://github.com/fm-elpac/pmim-ibus/releases>

  **解压**.

- (2) 将文件 (整个目录) 放在
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/ui/` 位置.

  确保 `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/ui/lo/index.html`
  文件存在.

### 3.3 安装 pmim-server

这个是拼音核心.

- (1) 下载编译好的压缩包 (`pmim-server.tar.zst`):
  <https://github.com/fm-elpac/pmim/releases>

  **解压**.

- (2) 将文件 (整个目录) 放在
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/server/` 位置.

  确保 `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/server/main.ts`
  文件存在.

### 3.4 安装用户界面

- (1) 将 3.2 的 `ui-vue-dist.tar.zst` 再复制一份.

- (2) 将文件 (整个目录) 放在
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/server/static/` 位置.

  确保
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/server/static/index.html`
  文件存在.

### 3.5 安装内置数据库

- (1) 下载数据库文件 (`pmim_sys.db.zst`):
  <https://github.com/fm-elpac/pmim-data/releases>

- (2) **解压**, 然后将文件放在
  `/sdcard/Android/data/io.github.fm_elpac.pmim_apk/files/pmim/pmim_sys.db`
  位置.

TODO
